diff --git a/src/hover.cpp b/src/hover.cpp
index 0cffd34..5bb1cd8 100644
--- a/src/hover.cpp
+++ b/src/hover.cpp
@@ -733,27 +733,31 @@ struct Sec_Hover_Fn {
       using CT = ROOT::Experimental::ENTupleColumnType;
       switch(type) {
       case CT::kIndex64:
+      case CT::kUInt64:  return field_le<u64>("Value: %" PRIu64);
+      case CT::kByte:    return field_le<u8>("Value: 0x%X");
+      case CT::kUInt8:   return field_le<u8>("Value: %u");
+      case CT::kChar:    return field_le<char>("Value: %c");
+      case CT::kInt8:    return field_le<i8>("Value: %d");
+      case CT::kReal64:  return field_le<f64>("Value: %f");
+      case CT::kReal32:  return field_le<f32>("Value: %f");
+      case CT::kInt64:   return field_le<i64>("Value: %" PRIi64);
+      case CT::kInt32:   return field_le<i32>("Value: %d");
       case CT::kIndex32:
-      case CT::kUInt64: return field_le<u64>("Value: %" PRIu64);
-      case CT::kByte:   return field_le<u8>("Value: 0x%X");
-      case CT::kUInt8:  return field_le<u8>("Value: %u");
-      case CT::kChar:   return field_le<char>("Value: %c");
-      case CT::kInt8:   return field_le<i8>("Value: %d");
-      case CT::kReal64: return field_le<f64>("Value: %f");
-      case CT::kReal32: return field_le<f32>("Value: %f");
-      case CT::kInt64:  return field_le<i64>("Value: %" PRIi64);
-      case CT::kInt32:  return field_le<i32>("Value: %d");
-      case CT::kUInt32: return field_le<u32>("Value: %u");
-      case CT::kInt16:  return field_le<i16>("Value: %d");
-      case CT::kUInt16: return field_le<u16>("Value: %u");
+      case CT::kUInt32:  return field_le<u32>("Value: %u");
+      case CT::kInt16:   return field_le<i16>("Value: %d");
+      case CT::kUInt16:  return field_le<u16>("Value: %u");
       case CT::kSwitch:
         titled_section("Switch", [this] {
           field_le<u64>("Idx: %" PRIu64);
           field_le<u32>("Tag: %u");
         });
         return false;
+      case CT::kReal16:
+        return field<u16>("Value: %f", [] (Arena *arena, String8_Node *prev, const char *fmt, u16 x) {
+          f32 xf = ROOT::Experimental::Internal::HalfToFloat(x);
+          return push_str8_node_child(arena, prev, fmt, xf);
+        });
       // TODO
-      // case CT::kReal16:
       // case CT::kSplitIndex64:
       // case CT::kSplitIndex32:
       // case CT::kSplitReal64: