O Glassfish é um servidor de aplicativos que lida com solicitações de EJB (contêiner EJB), enquanto o Tomcat é um contêiner de Web - ele não pode manipular componentes EJB. Então, quais são os componentes do aplicativo que você planeja executar. Se o seu aplicativo usa Servlets e JSPs, o GlassFish é um exagero. Se você tem EJBs, então você não pode usar o Tomcat de qualquer maneira. Então, acho que começa com seus requisitos primeiro.