Execution scope, memory semantics operands are IDs

They shouldn't be parsed or printed as masks.
diff --git a/source/binary.cpp b/source/binary.cpp
index 5c21e7f..0b75e6c 100644
--- a/source/binary.cpp
+++ b/source/binary.cpp
@@ -222,10 +222,12 @@
       print && spvIsInBitfield(SPV_BINARY_TO_TEXT_OPTION_COLOR, options);
 
   switch (type) {
+    case SPV_OPERAND_TYPE_EXECUTION_SCOPE:
     case SPV_OPERAND_TYPE_ID:
-    case SPV_OPERAND_TYPE_RESULT_ID:
+    case SPV_OPERAND_TYPE_ID_IN_OPTIONAL_TUPLE:
     case SPV_OPERAND_TYPE_OPTIONAL_ID:
-    case SPV_OPERAND_TYPE_ID_IN_OPTIONAL_TUPLE: {
+    case SPV_OPERAND_TYPE_MEMORY_SEMANTICS:
+    case SPV_OPERAND_TYPE_RESULT_ID: {
       if (color) {
         if (type == SPV_OPERAND_TYPE_RESULT_ID) {
           stream.get() << clr::blue();
@@ -311,8 +313,6 @@
     case SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE:
     case SPV_OPERAND_TYPE_DECORATION:
     case SPV_OPERAND_TYPE_BUILT_IN:
-    case SPV_OPERAND_TYPE_MEMORY_SEMANTICS:
-    case SPV_OPERAND_TYPE_EXECUTION_SCOPE:
     case SPV_OPERAND_TYPE_GROUP_OPERATION:
     case SPV_OPERAND_TYPE_KERNEL_ENQ_FLAGS:
     case SPV_OPERAND_TYPE_KERNEL_PROFILING_INFO: {