You might need to store all this information in some data object - an array or JSON file. It may be a simple table, say the first column contains fish name, second column contain odds of it to be caught in a lake and so on.
The odds should probably be cumulative. For example, the base odds of catching fish X in lake Y is 20%. Certain baits can increase or reduce these odds.
After you calculate the odds for each fish type for the current conditions, you can create a probability table with Advanced Random plugin, and pick a random fish from that table.