@SafeVarargs
	public static <A> EnumGene<A> of(
		final int alleleIndex,
		final A... validAlleles
	) {
		return new EnumGene<>(alleleIndex, ISeq.of(validAlleles));
	}
Create a new enum gene from the given valid genes and the chosen allele
index.

@param <A> the allele type
@param alleleIndex the index of the allele for this gene
@param validAlleles the array of valid alleles.
@return a new {@code EnumGene} with the given with the allele
       {@code validAlleles[alleleIndex]}
@throws java.lang.IllegalArgumentException if the give valid alleles
        array is empty of the allele index is out of range.
jenetics/src/main/java/io/jenetics/EnumGene.java