get started on enum support
fixes around enums, more tests
finish up enumeration implementation