quic: Rename kMaxValue histogram sentinels in QUIC enums

QUIC_CLIENT_HISTOGRAM_ENUM expects an exclusive enum count for
its enum_size parameter. PathValidationReason and
MultiPortStatusOnMigration defined an extra enumerator named
kMaxValue without an explicit value, making it act as an exclusive
count rather than an inclusive maximum value.

In Chromium, 3-argument UMA_HISTOGRAM_ENUMERATION() is changing to
disallow logging enums that define kMaxValue to prevent conflating a
count with a max value. Rename these boundary sentinels to kNumReasons
and kNumStatuses to reflect their semantics and prevent compile
errors when consumed by Chromium histogram macros.

PiperOrigin-RevId: 978548455
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index fe84062..0ee35f4 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -4285,7 +4285,7 @@
   if (path_validator_.HasPendingPathValidation()) {
     QUIC_CLIENT_HISTOGRAM_ENUM("QuicConnection.MultiPortPathCreationCancelled",
                                path_validator_.GetPathValidationReason(),
-                               PathValidationReason::kMaxValue,
+                               PathValidationReason::kNumReasons,
                                "Reason for cancelled multi port path creation");
     return;
   }
@@ -6509,7 +6509,7 @@
     QUIC_CLIENT_HISTOGRAM_ENUM(
         "QuicConnection.MultiPortPathStatusWhenMigrating",
         MultiPortStatusOnMigration::kNotValidated,
-        MultiPortStatusOnMigration::kMaxValue,
+        MultiPortStatusOnMigration::kNumStatuses,
         "Status of the multi port path upon migration");
     return;
   }
@@ -6524,7 +6524,7 @@
     QUIC_CLIENT_HISTOGRAM_ENUM(
         "QuicConnection.MultiPortPathStatusWhenMigrating",
         MultiPortStatusOnMigration::kWaitingForRefreshValidation,
-        MultiPortStatusOnMigration::kMaxValue,
+        MultiPortStatusOnMigration::kNumStatuses,
         "Status of the multi port path upon migration");
   } else {
     // The multi-port path is currently under probing.
@@ -6532,7 +6532,7 @@
     QUIC_CLIENT_HISTOGRAM_ENUM(
         "QuicConnection.MultiPortPathStatusWhenMigrating",
         MultiPortStatusOnMigration::kPendingRefreshValidation,
-        MultiPortStatusOnMigration::kMaxValue,
+        MultiPortStatusOnMigration::kNumStatuses,
         "Status of the multi port path upon migration");
   }
   if (context == nullptr) {
diff --git a/quiche/quic/core/quic_connection.h b/quiche/quic/core/quic_connection.h
index 1b1cc1a..0a19bbb 100644
--- a/quiche/quic/core/quic_connection.h
+++ b/quiche/quic/core/quic_connection.h
@@ -1612,7 +1612,7 @@
     kNotValidated,
     kPendingRefreshValidation,
     kWaitingForRefreshValidation,
-    kMaxValue,
+    kNumStatuses,
   };
 
   struct QUICHE_EXPORT PathState {
diff --git a/quiche/quic/core/quic_path_validator.h b/quiche/quic/core/quic_path_validator.h
index edd98ce..6f0a3d6 100644
--- a/quiche/quic/core/quic_path_validator.h
+++ b/quiche/quic/core/quic_path_validator.h
@@ -40,7 +40,7 @@
   kServerPreferredAddressMigration,
   kPortMigration,
   kConnectionMigration,
-  kMaxValue,
+  kNumReasons,
 };
 
 struct QUICHE_EXPORT PathValidationFailure {