Wow, this is a great use case, and we have discussed this internally for feature release cycles, and would love to bounce some ideas back and forth.
I would approach like this:
Create a "persona-feature" matrix. Personas in the rows, and features in the columns. I would go through each persona and assign a unique number to the features based on what matters the most, like a sudoku.
Each persona would essentially get its own automation, and each feature adoption would have a goal (probably using Event Tracking). So you end up with a prioritized "todo" list for each persona. If a user has already completed a goal (adopted a feature) move them on to the next stage in the master "index" sequence. If they complete the feature adoption process mid sequence, jump them along to the next "todo."
As you continue to roll features out internally, slot them in to each existing sequences. Even if the new feature appears "early" in the sequence for a persona, the next time they hit the "loop" they will be checked for adoption and fail (since it is a new feature) and enter into the new sequence.
Is this kinda like what you are thinking?