Level blueprint (maybe?) controlled sequential light triggering.

Oh yes, so one light of all is activated.
Then based on my last idea : simply use your index array value as delay.
In your level “on tick” event with a delay, loop and select index of your lights array and activate the timeline by a custom event in blueprint.
then you can do a reverse effect with a bool set true or false when index is 0 or last index and on true value = index and on false value = length - index or a second loop from max to 0.

Edited for a better idea ^^