Вам необходимо отправить фактический объект перечисления в функцию, поскольку вы хотите сопоставить строковое имя перечисления со значением.Это отношение хранится в самом объекте enum.
function getMethodEnum<T>(enumObject: T, actionStr: string): T[keyof T]
{
return enumObject[actionStr as keyof T];
}
enum ActionEnum {
Unknown = 0,
Sleep = 1,
Run
}
let action: ActionEnum = getMethodEnum(ActionEnum, "Sleep");