Add type conversions for enum types

* Before this, enum values were just the default Int type, requiring
  conversion to the proper type before being passed to calls.
* Now, the the enum values are of the same type as the original enum
  (typically Int32 or Uint32)

Addresses part of #81 

I'm not sure how this interacts with your current work, so I'll wait for you to merge.