Several fields on those models are likely to be LA-specific. LA is in a desert and so cares a lot about decreasing water used for irrigation of grass ("turf"). That's why they're asking questions like "Did this rain garden used to be turf?" (site_was_turf) and "If so, how did you change the irrigation?" (irrigation_change). Those questions allow them to compute the summary statistic "Irrigation reduced", which few other treemaps will care about.

I expect that once we figure out our "generic" rain garden etc. they will be simpler.

I guess we use RainGarden for all rain gardens and give it all fields anybody wants, but this way seems simpler to me assuming we don't need dozens and dozens of custom classes for specific clients.