There is a big PR pending with updates to the Asset Model but it shouldn’t affect you too much in terms of adding new value types.
You need to create an implmentation of AssetModelProvider and can use auto scanning capability or you can supply your custom ValueDescriptors via the getValueDescriptors().
As for the data types used in the ValueDescriptor if they are just simple types then you can extend the existing ValueDescriptors and add your additional constraints as needed, e.g.:
ValueDescriptor<Double> MY_VALUE_TYPE = ValueType.NUMBER.withConstraints(ValueConstraint.constraints(new ValueConstraint.Min(100), new ValueConstraint.Max(200)));
If you want to use custom data types then just make sure they serialize/deserialize correctly with Jackson.