Split List Into Branches Based on Nulls

I am working with a list of surfaces that are in 3 clusters separated by nulls. The null values are kept to maintain list order. However, I would like to stream each group of surfaces into their own group using the nulls as the splitting mask so that each group of surfaces goes into its own branch.

You can cull/or list and use sliders to catch each domain, but this is still fairly manual and I am trying to fully automate this process.

 Any advice would be much appreciated.