Feature/improve enumerator

Improves enumerator code in a couple of ways, see commit message for details. I have added a small benchmark. These are the results from my machine.
Before:
``` 
[info] Repetitions ended.
[info] ::Benchmark Enumerator.enumerator::
[info] cores: 4
[info] hostname: greyskull
[info] jvm-name: Java HotSpot(TM) 64-Bit Server VM
[info] jvm-vendor: Oracle Corporation
[info] jvm-version: 24.65-b04
[info] os-arch: amd64
[info] os-name: Linux
[info] Parameters(size -> 10000): 283.25991
[info] Parameters(size -> 20000): 578.425475
[info] Parameters(size -> 30000): 857.977712
```
After:
```
[info] Repetitions ended.
[info] ::Benchmark Enumerator.enumerator::
[info] cores: 4
[info] hostname: greyskull
[info] jvm-name: Java HotSpot(TM) 64-Bit Server VM
[info] jvm-vendor: Oracle Corporation
[info] jvm-version: 24.65-b04
[info] os-arch: amd64
[info] os-name: Linux
[info] Parameters(size -> 10000): 207.606342
[info] Parameters(size -> 20000): 375.515308
[info] Parameters(size -> 30000): 564.428892
```
Which I think is a decent improvement