Use Enum for polymorphic identity type