Scoped enum overflow: Different behaviour between MSVC and GCC (std=c++17)