Implementing enums via macro annotations