Per Instance Custom Data in Material

Looking for a way to assign a custom value into a HISM material. PerInstanceRandom, does this on a per instance level, but the value is a random seed. Basically i have a few texture samples and what im trying to do is have control over which texture sample each instance is using.

i found this, which is what im needing to do but in 4.22 is causing the engine to become unstable, using foliage will crash the engine, along with some other issues:

https://forums.unrealengine.com/community/community-content-tools-and-tutorials/1526732-per-instance-custom-data-inside-of-material

If anyone has any ideas, or could point me in the right direction, it would be very much appreciated.