Allow usage of enums as a data source

We have found it is often useful to have an enum as a data source and have found this leads to alot of redundant code

```java

@Test
@Parameters(method = "typesOfFruit")
public void testSomething(Fruit fruit) {
}

@UsedReflectively
public Fruit[] typesOfFruit() {
  return Fruit.values();
}
```

a simple check when collecting parameters for tests for an enum class type allows a nicer reuse of the class attribute as in `@Parameters(source = Fruit.class)`
Do we need thread safety? Won't all the tests be called by a single thread?