Is there a way to vertex color paint with more than 4 colors or onto multiple vertex color sets?

We need the capability to paint more than 4 vertex color attributes onto a mesh?
I.e. more float attributes associated with each vertex that one can later access from a material.
Is there any way to do this?

One possible solution may also be to have multiple sets of vertex colors that we can select then from a material somehow. C++ is an option too if needed.