Enums get their own protocol