Tidy up enums, and add extension methods