from enum import IntEnum from typing import Optional class Difficulty(IntEnum): LOW = 0 MEDIUM = 1 HIGH = 2 values = [ Difficulty.LOW, Difficulty.MEDIUM, Difficulty.HIGH] def format(difficulty: Difficulty) -> str: if difficulty == Difficulty.LOW: return 'Low' elif difficulty == Difficulty.MEDIUM: return 'Medium' elif difficulty == Difficulty.HIGH: return 'High' def parse(string: str) -> Optional[Difficulty]: if string == 'Low': return Difficulty.LOW elif string == 'Medium': return Difficulty.MEDIUM elif string == 'High': return Difficulty.HIGH else: return None