I would suggest that you attempt a complete soak of the area. Also, keep in mind that there may be multiple areas, some large, some small. I understand this will be quite challenging for a mattress.
Please read the following for my reasoning, which is based on one company - but applies to all cleaners, enzymatic or not.
An enzymatic cleaner such as Kids 'n' Pets (I use) sells their product in a large non-spraying bottle, similar to the water bottles used for bike rides. Before their website received an overhaul, they used to have a FAQ page which included "Why does Kids'n'Pets come in a squirt bottle and not a spray bottle?" They explained that the common problem with pet-stain-cleaners was that customers never soaked the area as thoroughly as the urine originally did. Urinating directly onto a carpet (or mattress) allows liquid to travel deep down and outward. Customers often spray the surface based on the stain they see or think is there - which always allowed most of the urine (deeper under the carpet) to stay untreated. This leads to reoccurring smell, which leads to customers thinking the product doesn't work. They explained how the large opening squirt bottle encourages customers to actually completely soak the area. This way the product will work, and the customer will be happy. (It was not an expensive product) They promoted simply using your own squirt bottle for stains if you're sure they are surface-only. Unfortunately the product has grown in popularity; their website has gotten fancy; and I cannot find this information anymore. However, the logic is sound. People often just need to use more product.
Pick a product you're sure will work on urine, not just microbes. If it kills the microbes, but leaves urine in it's original "edible" state, more microbes will just move in later and make the smell again. Remember, it's not really the urine that smells, but the microbial action. You need something that will break down urine into a form that's not usable by the microbes which cause the smell.
I have used Kids'n'Pets for cat accidents including: food-based vomit, bile-based vomit (very very neon green stains) (a medical issue, now treated), feces smears (cat eats long human hair and freaks out during defecation); and very old, very stubborn grease oil (car/mechanic) stains in carpet. I have not used it on urine, but I originally chose it due to fabulous reviews (mostly about urine).
I would suggest buying an enzymatic cleaner in bulk from online and soaking as much of the mattress as you can. Try to sniff out all areas in advance and perhaps mark with a pen or marker. Use a black light (UV light) in the dark to find urine stains. Keep in mind that if you properly cleaned the surface - it may be impossible to find the stains visually. Try to remember where you cleaned before and soak those areas and/or use someone with an excellent nose.