Не очень ясно, что требуется.
Если тебе требуется помещать в эту переменную экземпляры класса Language, то пишешь
compiler: Language
Если же у тебя есть набор строковых значений, которые там могут быть, оформи их как enum.Enum и пропиши этот класс.
class CompilerEnum(enum.Enum):
C = 'C'
CPP = 'C++'
ADA = 'Ada'
FORTRAN = 'Fortran'
class ApiCallData(t.NamedTuple):
code: str
compiler: CompilerEnum
stdin: str
Это подразумевает, что ты знаешь список языков на момент запуска скрипта.
Если это не так, то статическая типизация не поможет, тебе придётся прописывать тип str и проверять корректность вручную.