Get enums to work
Add some tests
Remove the warnings