Helm 3 does offer a solution: a JSONSchema definition file for the values.
Which works ... in a very Helm-like fashion. Meaning: it's messy and awkward.