Enums as First Class

 - Fixes #96 
 - Introduce enums as first class element

Seems odd that name of the value is optional, since that is what the enum is.