note: I don't want to ever exit fom manual control which is why I have put in the while(1) loop.
I wouldn't do that; I would instead say that in the 'manual' case, it never reverts back to the 'auto' case. That way you can easily change it if you change your mind (eg press another button instead of "reset"). The switching from auto to manual should also take place inside the "AUTO" case since it only makes sense to "switch" to manual when you're not in it already.
However if you do that another problem will show its face -- your variable "state" (of type "states") is forgotten at the end of loop() and recreated at the beginning, and the whole point of the variable is to keep track of the state between loops. Using the "static" keyword means it will keep its value between calls of loop().
In the manualControl() function, you should only call servo.write() once. That way, you can be sure you don't write it multiple times in one loop.
Your digitalRead() syntax is wrong. You don't want to check if "rightButton" is 1, you want to check if digitalRead(rightButton) is 1. So just move the parentheses.
do{
servoTime = millis();
autoLoopStart = false;
}while(autoLoopStart == true);
if(millis() - servoTime <= 3000){
the if will never be true, since you had just set the value of servoTime. You probably want to have an if around that statement rather than a do...while(), which always executes the code at least once.