(case my-enum
(string (do-string my-enum))
(bool (do-bool my-enum))
(proc (my-enum))
(number (do-number my-enum))
(else (! "No match found in case")))