from enum import IntEnum from typing import Optional class Status(IntEnum): READY = 0 WAITING = 1 MAYBE = 2 values = [ Status.READY, Status.WAITING, Status.MAYBE] def format(status: Status) -> str: if status == Status.READY: return "Ready" elif status == Status.WAITING: return "Waiting" elif status == Status.MAYBE: return "Maybe" def parse(string: str) -> Optional[Status]: if string == "Ready": return Status.READY elif string == "Waiting": return Status.WAITING elif string == "Maybe": return Status.MAYBE else: return None