Artwork is meant for you to specify a folder with images that are named after each rom name. As of now, I believe that's the only thing it will look for.
If you are using say "sf2.png", "kinst.png", etc... you can add a "background" artwork folder with those files in it, then use fe.add_artwork("background", 0, 0, 100, 100 ) to show the image for whatever game is selected. You can put the artwork folders wherever you want, in the AM folder, or otherwise, but the files have to match the name.
So it looks like you want a config option to choose either a default bg image file, or the "fan art" artwork in the background folder. Looks like you are close. Make sure that the files match the game names.. and double check your code, should look like:
switch( my_config["bg_image"] )
{
case "Fan Art":
fe.add_artwork( "background", 0, 0, fe.layout.width, fe.layout.height );
break;
case "Default":
fe.add_image( "bg.png", 0, 0, fe.layout.width, fe.layout.height );
break;
default:
//no background at all
break;
}
Make sure you do breaks after each switch option, otherwise you will get unintended results. You might even try printing out your config setting to make sure it matches your choices in your switch statement since it looks like your default is no background:
print("Background is set to: " + my_config["bg_image"] + "\n" );
Case matters - you can use toupper() or tolower() to match the case on your config variable and your switch statement cases.
Also, make sure you run in Windowed mode, so you can see the debug output - if something isn't right, it will spit out some errors...
Hope that helps!