public <T extends Enum<T>>Source<T> enumValues(Class<T> e){
  return pick(e.getEnumConstants());
}

public < T extends Enum < T > > Source < T > enumValues ( Class < T > e ) { return pick ( e . getEnumConstants ( ) ) ; }
generates enum values of type t by randomly picking one from the defined constants . when shrinking , enum constants defined first will be considered " smaller " .
