From enumerator to map
You can use into, for example: 

(defn extract-headers [message]
  (let [headers (enumeration-seq (.getAllHeaders message))]
       (into {} (map #(vector (.getName %1) (.getValue %1)) headers))))


first, with map you build sequence of 2-element vectors, that later is converted into map