Reformat enum template for readability
Add support for types