DSL: use C++11 enum class for

- Boundary
- Reduce
Use C++11 enum class for

- Boundary
- Reduce
Simplify & cleanup.
Refactoring: enum class for Interpolate.