It is not a very good idea to use equality (=) to do that as it could also change all the other bits, if they are not already 0. If you are only wanting to change one bit, you should or (|=) the value. So
T2CON |= (1 << TMR2ON);
is the proper way to do it. That way you only set the TMR2ON bit and leave the rest unchanged.