Before I reached this solution, I have tried many sensor types and sensing methods, in the end this is the final solution I considered most suitable for this purpose.
Basically, as you can see it in the pictures it uses a special push-button (like the ones used in computer mouses, rated to over five million clicks). When filament is inserted the 6mm steel ball pushes the button triggering a filament presence sensing. This is information is used in the firmware to launch a macro to auto load the filament. The unload button is connected to an input of the control board which is configured to trigger the unload macro.
The filament entry ring is printed out of a transparent material which is lit by a bicolor LED to show status as follows:
Red - no filament detected
Green - filament present
Orange - unload button is pressed (only when filament is present)
Please note the filament sensing button used here is not a standard TACT switch. It has a different internal construction. The button movement range is about 0.7mm, the output contact is engaged @ about 0.3 mm and released @ about 0.2mm.