It is likely that your /etc/default/grub file contains these two lines:
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
Can't understand why they leave these options there, since they are deprecated in favor of GRUB_TIMEOUT_STYLE according to info -f grub -n 'Simple configuration'.
Commenting out these two options make the grub menu appears right away when booting (idea taken from here). This leads to another problem that initially I didn't have: after choosing the option from grub, the system hangs in a black screen. To solve this one, go back to /etc/default/grub and change the line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to:
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
Besides commenting out the two hidden timeout options mentioned, I also added GRUB_TIMEOUT_STYLE=hidden and set GRUB_TIMEOUT=2. This way the grub menu is hidden but if during the 2 seconds interval you press ESC you get the menu back. Otherwise you boot to your default option.
UPDATE:
You might leave quiet splash before nomodeset to keep the good looking boot process:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
The nomodeset introduced a new problem for me: can't control brightness anymore with fn keys. Once I figure a solution I'll update this.