Limp mode is often accompanied by a "Check Engine Light" (CEL) and will have a code in the ECU that can be read.
You can put a bluetooth OBD adapter on your OBD port and read the code with any of a dozen or more Android apps. You could take it to a mechanic to read the code for you, or do the painful pedal switch sequence that makes the CEL flash a certain amount to spell out the 4-digit code. The first two options are the easiest.
The code will tell you why the ECU is putting the car in limp mode, but won't necessarily be the answer. You can reset it, as a first attempt, use either the bluetooth method or the mechanic method. The power-disconnect-foot-on-brake method may not work but it might be worth a try.
Example: bad earth. ECU is routing earth power through some other path because it's own earth point (right hand guard) is insufficient, and whatever that path is will result in an erroneous response and give you a false answer. You'd suspect a bad earth if you reset and get a weirdly different error the second time. Clean the earth by cleaning both battery posts, and checking the earth point near the ECU.
If you get consistent responses then it is likely to pretty close to the problem.
After working on the fuel pump, a reset of the fuel parameters should have been done, was it? This is the same as the forced-power-off method above, I'll describe that in detail:
1) Write down trip meter values if you use them
2) Get your radio PIN handy
3) Pop the bonnet yourself, lift it yourself, remove the battery negative lead yourself
4) Open the driver's door and press the brake yourself
5) Return the battery lead to the battery.
You cannot have an assistant help you. The entire point of the exercise is to dissipate energy in the ECU so that it does a basic reset (which won't clear severe diagnostic codes). A basic reset WILL reset the fuel mapping.
If you've had or tried a reset and it's still not working, grab that code and let us know what it is.