Doubt about assigning array of enum, any advice?

I have some doubt about this way of assigning array of enum like in City1.possibleHairColor. if i define value of enum array at class-member-variable-area is it possible that i will accidentally use value of not yet assigned enum HairColor in possibleHairColor?

(in city1 script i want to make a variable that store value of some character hair. while in color is the full list hair color.)

public class Character
	public enum HairColor

public class City1
	public List<Character.HairColor> possibleHairColor = new()
	    //not using brown in this city.

An enumerator is prepared before any scripts are run that might depend on it. Similarly, the enumerator itself is not an instance of anything; the values are effectively just compiler-level constants.

In other words, the enumerator values themselves cannot be null, and C# rules would result in a compiler error if you tried to use a value that doesn’t actually exist in the enumerator.

// Valid
public Character.HairColor colorA = Character.HairColor.Black;

// Invalid, will not compile because the specified HairColor
// enumerator value does not currently exist
public Character.HairColor colorB = Character.HairColor.Chartreuse;