Delete please Admins
My guess, I would use an array of checkpoint GameObject. This way you can easily know which one is next by incrementing the index of your array. When you reach the end of your array you get back to 0.
That would also reduce your amount of code by a lot.