Added Terrain class, changed all enums into C++11 enum classes