Add support for enums
Add support for custom types