Data type mapping is controlled by the hibernate dialect specific to your database. Typically it is mapped to a varchar -- I don't know of any dialects that map to enum because support for that data type has been historically spotty with differences in collation ordering and language support.
We used to try to coerce it the way that you are wanting to, but then we realized that it is more important that we get the form binding and domain object validation right and just let the database store the string serialized form of the enum value. In other words, worry about the values before you store them, but just store them "naked". Of course, if you are accessing the database outside of GORM/Hibernate, you might have a requirement to place more constraints into the data model.