Uses enums with nice toString method