En teoria el patron singleton seria para tener una unica instancia pero bueno veo que lo limitas a cinco, que problema tienes con eso? que lo controle el constructor y punto
No se si tienes que usar singleton a la fuerza, pero para ese pool de conexiones lo más sencillo sería usar una clase estatica que puedan usar todos y un atributo dentro de esa clase estática que limite el número de conexiones que quieras