Add support for enums
Correctly preserve parameter annotations