@Test
public void enumeratingOnEnums_should_bePossible() {

    final TemplateValue templateValue = TemplateValues.enumeration(MyEnum.values());
    assertThat((MyEnum) templateValue.transform(0), is(MyEnum.A));
    assertThat((MyEnum) templateValue.transform(1), is(MyEnum.B));
    assertThat((MyEnum) templateValue.transform(2), is(MyEnum.C));
    assertThat((MyEnum) templateValue.transform(3), is(MyEnum.A));
}