Best Practices for location based extra data? Zones?

Let’s say you have a terrain or a collection of static meshes which form a specific area.

I want this particular area to be divided into smaller zones which each have some ‘data’ applied to it.

As an example we can use small terrain which would have 4 zones not equally spread with the values of Soil Quality - between 0 and 1.

Now obviously I could make a custom volume with this variable and place them in the map but is there a better way? Maybe somehow I could ‘paint’ this directly on the terrain / meshes, or is there another way I could approach this that would be more ‘designer’ / ‘artist’ friendly rather than having people drop SQUARE zones all around the places ?

(I can work with c++ just need some direction into what to look at, or some ideas how I could approach this problem to make it easier to manage)