Tying the number of output pins to the number of entries in the array isn’t really viable because as far as the compiler really knows you just have an array input. We’ve avoided trying to trace back through the network to figure out the “literal” value that is coming in because every change anywhere in the graph could theoretically impact it and so the cost of updating nodes when connections are made would be very high and if you connected it to a dynamic variable we need to have a desirable behaviour as well.
For this case I could see perhaps having a version of the String and Name switch nodes where the labels are provided dynamically as you’ve shown here, however, the number of output pins would need to be manually set. I’ll mention it to the team and see what others think.