from enum import Enum class AlertCategory(Enum): HIGH = 1 LOW = 2 CUSTOM = 3 @staticmethod def from_str( category: str, ): # It gets mad when I use the Type[AlertCategory] as a type hint match category: case "high_alert_button": return AlertCategory.HIGH case "low_alert_button": return AlertCategory.LOW case "sp_add_button": return AlertCategory.CUSTOM case _: return AlertCategory[category.upper()]