Scale and expand an analog signal voltage
Theory vs reality first:
Unless you use a rail to rail op amp, you will need more voltage than the maximum output you are looking for to power the op amp. Simulation doesn't always account for real world numbers. Rail to rail op amps are nice in that they output voltages closer to their supplied voltage, but they even have limitations. Powering an op amp to ground typically won't provide an output of 0V when 0V is expected. That's one of the reasons why lots of op amps operate using +/-12V or more. This allows the voltage to swing past zero. Please be careful though that you don't exceed the maximum voltage input of your Arduino.

For the schematic:
You will want to use a "Zero and Span Circuit" to get the maximum resolution. The 'zero' will move 4.307V - 4.846V down to 0V - 0.539V. The 'span' will then amplify 0V - 0.539V to 0V - 3.3V. Please be careful though that you don't exceed the maximum voltage input of your Arduino.

For the op amp:
This might be possible with the MCP6N11, but I've only done it with multiple stage amplifier circuits. Texas Instruments 741 or the OPA various series.

Please be careful though that you don't exceed the maximum voltage input of your Arduino.