Make the enabled property configurable

This allows using select statements with it.

Ignore-AOSP-First: This needs to be in a topic with changes in interal-only repositories, I'll cherrypick to aosp after.
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I6f3efaaa3d82505e38a91ee4ba0e18e404360191
diff --git a/cc/fuzz.go b/cc/fuzz.go
index 2436f33..6144046 100644
--- a/cc/fuzz.go
+++ b/cc/fuzz.go
@@ -352,18 +352,14 @@
 			Sanitize struct {
 				Fuzzer *bool
 			}
-			Target struct {
-				Darwin struct {
-					Enabled *bool
-				}
-				Linux_bionic struct {
-					Enabled *bool
-				}
-			}
+			Enabled proptools.Configurable[bool]
 		}{}
 		extraProps.Sanitize.Fuzzer = BoolPtr(true)
-		extraProps.Target.Darwin.Enabled = BoolPtr(false)
-		extraProps.Target.Linux_bionic.Enabled = BoolPtr(false)
+		extraProps.Enabled = android.CreateSelectOsToBool(map[string]*bool{
+			"":             nil,
+			"darwin":       proptools.BoolPtr(false),
+			"linux_bionic": proptools.BoolPtr(false),
+		})
 		ctx.AppendProperties(&extraProps)
 
 		targetFramework := fuzz.GetFramework(ctx, fuzz.Cc)
@@ -433,7 +429,7 @@
 			return
 		}
 		// Discard non-fuzz targets.
-		if ok := fuzz.IsValid(ccModule.FuzzModuleStruct()); !ok {
+		if ok := fuzz.IsValid(ctx, ccModule.FuzzModuleStruct()); !ok {
 			return
 		}