It's a lot of memorization is what it is. It gets easy after a while.
Sometimes an engine can have two different codes, be nearly identical with only one tiny difference. Sometimes going from a "B" to a "C" means it is a completely different engine. You have to memorize your engines.
Examples:
B18A -> B18B, it's virtually identical.
F20B -> F20C, they are completely different.