It's not a firmware upgrade. It's a completely different firmware, that turns the Arduino into a USB MIDI device. I'd recommend trying it out with Hairless MIDI first. Use
Serial.begin(115200); at the end of the setup to use it with Hairless.
The MIDI controller library just sends out serial MIDI messages (because the ATmega2560 doesn't support MIDI over USB natively). On the Arduino Mega, there's a second microcontroller, the ATmega16U2 (8U2 on older boards) that takes these serial messages, and sends them over USB, pretending to be a USB COM (serial) port.
You can then use a software tool like Hairless to convert these serial messages to actual MIDI messages. (They already are MIDI messages, but the computer doesn't know that they are, it's just meaningless serial data.)
This is quite cumbersome, because you need extra software to run in the background. If you want an easier, more permanent solution, you can flash custom firmware to the ATmega16U2, that translates the serial MIDI messages to MIDI USB packets. Once you plug it into your computer, it will be automatically detected as a USB MIDI device.
The downside is that you can't really program the Mega while this MIDI firmware is loaded, you need to flash the normal USB COM firmware first.