Перечисления

(require '[clojure.set :as set])

(def season {:summer 0, :fall 1, :winter 2, :spring 3})

;; the way back is the map turned inside out
(def by-value (set/map-invert season))

(def winter (by-value 2))
;; winter is :winter

(println "winter is" winter)

;; an unknown value gives nil instead of an error
(println "value 9 is" (by-value 9))