It's worth sorting this out now, before your app is in production (assuming you are still building it). Not using the PK as the FK ('value') for a join can cause all kinds of nasty problems in the future, when you try and add functionality.
Try creating another test join to the butterfly table, using the id as the value. Make sure you haven't unpublished the 'id' element on that table, and that it is an auto-incrementing primary key for the table.
If that doesn't work properly, let me know and I'll take a look. I don't usually do hands on support in Community, but I'd rather take a few mins and get you on the right track now, than have to help you re-build your data in a few months when things go pear shaped.
One small example of why you shouldn't use "names" as the key. Imagine you made a typo in the name, and didn't notice until you had a bunch of data collected. So you change the name on the butterfly record to fix it. Now all your records which have joins pointing to that no longer work, because the name no longer matches. So you'd have to manually fix all the now incorrect data. But PK's never change, so you can change the "label" all you want, and it won't affect the database relationships.
There are also some places in Fabrik, in some of the more advanced features, where we make assumptions about the Fk -> PK relationship, like in "related data".
-- hugh