How can i use info from dictionary(structure) as a key for another?

Godot Version

4.2

Question

i have
enum AllTeams : int { Good = 1, Bad = -1, Ugly = 0 }
that represents permanent teams in game.

i have

static System.Dictionary<AllTeams, List<Type>> TeamClasses = new System.Dictionary<AllTeams, List<Type>>
{
{ AllTeams.Good, new List<Type>{ typeof(Character), typeof(Creep) } },
{ AllTeams.Bad, new List<Type>{ typeof(Character), typeof(Creep) } },
{ AllTeams.Ugly, new List<Type>{ typeof(Neutrals) } }
}

that represents what classes can belong to every team.

i need a static dictionary or structure called CollisionManager that stores info about which class of which team belongs to different collision layer and property of object: dictionary or structure CollisionCharacteristics that stores info about with exemplars of what classes of what team this object collides(has collision mask). Both of them must address to TeamClasses.

Fastest way I think is put team value on class, you don’t want search in lists, most cases is better to use memory than CPU