type TPoints = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I'; type TTree = { [key in TPoints]?: TTree; }; Может так?
Может не в них дело?)
Бэкенд или фуллстек?