Do we **really** need yet another enum for type?