use table instead of switch in StrEnum