using Combinatorics.Collections;
public static void Main()
var allPossibleEnums = Enum.GetValues(typeof(MyEnum)).ToList();
var variations = new Variations<MyEnum>(allPossibleEnums, 3, GenerateOption.WithoutRepetition);
foreach (var v in variations)
Console.WriteLine().WriteLine(string.Join(",", ));