INTCON.3 = 1 turns ON RB Port Change Interrupt Enable bit. This means any change on RB7, 6, 5 or 4 will generate the interrupt.

There are a few things to watch out for when using this.

1. Set the upper 4-bits up as inputs. TRISB = %11110000 (assumes only top 4 are used as inputs) change as required. And make sure these inputs are not floating by using internal or external pull-ups - or external pull-downs depending on your switch open/close logic.

2. Do a "read" of the port before turning ON RB int change. Dummy = PORTB.
Just take a snap-shot of portb inputs before turning the option on.

3. INTCON.3 = 1 Now any change from the last value read on RB7,6,5 or 4 will cause the interrupt flag bit INTCON.0 to be set (RBIF: RB Port Change Interrupt Flag bit)

Now, before exiting your ISR, you need to read portb again, then clear the flag bit associated with RB int change.

Dummy = portb ' end missmatch
INTCON.0 = 0 ' clear interrupt flag bit before re-enabling interrupts
RESUME
ENABLE

Some other things to consider.

You're testing upper portb pins in your ISR. This actually reads the port, and will end the missmatch, BUT, your program is going to run much faster than than anyone can operate a push-button switch, and you will have switch bounce.

What can happen is you enable RB int on change, someone releases the switch, and you have the interrupt "missmatch" condition all over again.

You might want to include some code that recognizes the keypress, and then waits for the user to release the key before reading the port, and re-enabling the interrupt on change. You can turn ON the LED immediately, but wait for the key to be released before reading the port & re-enabling int on change.

Also, you're turning ON internal pull-ups, and you're testing input pins for logic 1 with IF SW1 = 1 THEN do something.

What logic level does a switch press apply to your switch inputs?

Do I need to enable the Global interrupt GIE INTCON.7=1 before exiting the ISR?
Definitely not. Exiting the interrupt with RESUME, ENABLE handles everything for you. Using ON INTERRUPT you never need to mess with GIE unless you want to totally disable interrupts. In that case write INTCON = $80 like shown in your manual.