[#917] Fix Enumerators when dealing with large amount of data

- Enumerator.generateM
- Enumerator.unfold
- Enumerator.unfoldM