haskell bindings: first class enum support