Note: for future reference, if the glow shader is all you’ve changed then j3md files can specify their own glow techniques and use whatever frag they want.
Anyway, some potential simplification for your code.
First, if m_GlowColor is being set by code then the code maybe knows when it’s setting 0,0,0 and could then potentially use a boolean + define instead to turn it off. It’s just that an == comparison on floating point always raises a red flag for me because if it’s expected the m_GlowColor is a calculated value that might be 0 then a comparison < some epsilon is usually more appropriate. Probably not an issue in your case. And either way, you could discard before doing the texture lookup though it may or may not actually skip it depending on how branching is implemented by a particular driver.
I think you could even bypass the boolean by connecting the m_GlowColor to a define and then just setting GlowColor to null to turn off glow. Put GLOW_COLOR : m_GlowColor in the defines section of the .j3md then use #ifdef or #ifndef:
Actually, looking at the source code, JME’s glow.frag does exactly that except returns 0,0,0 instead of doing a discard. Which for its case is correct since non-glow objects should obscure glowing ones.
For things like this:
if (textColor.r > 0.1 || textColor.g > 0.1 || textColor.g > 0.1)
It can be more compact to do:
if( length(textColor.rgb > 0.1 )
…or if the potential for the sqrt gives you heartburn:
if( dot(textColor.rgb, textColor.rgb) > 0.01 )
Not necessarily faster, just more compact and less chance for one 0.1 to be typoed to something else someday.
…also for the record, the ‘else’ hardly matters with the discard right above it. 
Anyway, that being said, my own shader code is usually ends up messy in the end precisely from the trial and error to get it working and then fear of ever touching it again. But still. 