Support enums

And some other stuff